Option Explicit
Dim doc
Set doc = application.ActiveDocument
GetUserLicence(doc)
doc.currentunit = 2
main
sub main()
	putSelPadObstruct
	'msgbox "done"
end sub

'#################################################################
'#################################################################
'#################################################################
'#################################################################

function putSelPadObstruct()
	dim cx,cy,cr
	dim pntArr	
	dim numPoints 
	redim pntArr(2,2)
	numPoints = 3 
	dim po
	
	dim cLyr,i
	cLyr = application.gui.ActiveRouteLayer 
	dim pstack,pstacks
    Set pstacks = doc.vias(1)
	for each pstack in pstacks
		'msgbox pstack.name
		cx = pstack.positionX
		cy = pstack.positionY
		if pstack.name ="016*8VIA" or pstack.name ="016-8VIA" then cr = 14
		pntArr = application.Utility.CreateCircleXYR(cx,cy,cr)
		for i =1 to doc.layercount
			Set po = doc.PutObstruct(i,1,numPoints,pntArr,1,False,nothing)		
		next			
	next	
end function


'#################################################################
'#################################################################
'#################################################################
'#################################################################
' Function to validate document
Private Function ValidateServer(docObj)
    Dim key, licenseServer, licenseToken
    key = docObj.Validate(0)
    Set licenseServer = CreateObject("MGCPCBAutomationLicensing.Application")
    licenseToken = licenseServer.GetToken(key)
    Set licenseServer = nothing
    'On Error Resume Next
    Err.Clear
    docObj.Validate(licenseToken)
    If Err Then
        ValidateServer = 0    
    Else 
        ValidateServer = 1
    End If
End Function

sub GetUserLicence(docObj)

	If ValidateServer(docObj) = 0 Then
	    msgbox "Server validation failed."
	    exit sub
	End If
	
end sub